[#226] feat: pair-capability-assess-cost — multi-provider cost class at review#361
Conversation
…at review Output-only cost classification (green/yellow/orange/red per quality-model §3.3), consistent with the assess-security sibling: emits the cost dimension of the classification matrix (1-line verdict + collapsed details, D22), writes nothing, blocks nothing. - T1: author assess-cost SKILL.md (rule-set cascade, args $diff/$story/$scope, HALT on missing quality model, unknown-surface → orange, output format, composition interface) - T2: cost-assessment.md guideline — multi-provider cost-signal catalog, general + AWS-specific heuristics, other providers via adoption links (R2.13), cost gotchas; wire §3.3/§7 of quality-model + QA README index - conformance test assess-cost.test.ts (output-only, class scale, guideline, catalog registration); skill-count cascade 38→39 / 28→29 capability across next catalog + KB prose; regenerate .claude/skills + .pair mirror; llms.txt Review-side wiring (compose into /review) and review template are #228, not in this batch. Tasks: T1, T2 Refs: #226 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t catalog row) Website docs-staleness gate (pre-push) tracks skill count independently of the KB dataset/mirrors. Bumps 38->39 across docs prose + adds assess-cost to skills-catalog.mdx.
Code Review — PR #361Review Information
Review SummaryOverall Assessment
Key Changes SummaryAdds the Business ValueCompletes the Cost dimension of the classification matrix (Epic #208), parallel to the shipped Functionality Review — AC verification
Detailed Review CommentsMajor
Minor
Questions
Technical Standards / Code Quality
Testing Review
Security Review
Adoption Compliance
Tech Debt
DecisionApproved with Comments. The code that is present is correct, complete for its stated scope (AC1/AC2/AC4), consistent across every mirror/count/doc surface, and cleanly follows the sibling convention. The one Major item (AC3 + red-sign-off deferred to #228) is disclosed and tracked; the only blocking-adjacent question is process, not code: the human merge gate should resolve the "Closes #226"-with-AC3-unmet tension (keep #226 open until #228, or move AC3 to #228). Recommended in-PR fix before merge: the §2 "forthcoming" stale line (Minor). |
…wice not §3.2 floor - quality-model.md (dataset+root): assess-cost catalog no longer 'forthcoming' (ships in this PR) - assess-cost SKILL.md (dataset+mirror): cost class refinement→review floor cited via D17 'built twice' (estimated vs actual, more conservative wins) instead of §3.2 risk-tier floor semantics
Remediation — round 1 (commit
|
Summary
Adds the
assess-costcapability skill: output-only cost classification (green/yellow/orange/red per quality-model §3.3) against a multi-provider cost-signal catalog. Sibling ofassess-security— emits a verdict, writes nothing, blocks nothing.Refs #226.
What Changed
.skills/capability/assess-cost/SKILL.md(+.claude/skills/pair-capability-assess-cost/SKILL.mdmirror): rule-set cascade, args$diff/$story/$scope, HALT on missing quality model, unknown-cost-surface → orange (conservative/visible), AC4 no-cost → green, output format (1-line +<details>, D22), documents composition interface for future/review+/refine-storywiring.guidelines/quality-assurance/cost-assessment.md: multi-provider cost-signal catalog (paid-SDK, API-key env vars, IaC, cron, queues, media, LLM, storage/egress, always-on), 4-level class scale, general heuristics, AWS-specific section, other-providers-via-adoption-link (R2.13), cost gotchas. Wired into quality-model §3.3/§7, QA README index,llms.txt.packages/knowledge-hub/src/conformance/assess-cost.test.ts(test-first: RED before authoring skill/guideline, GREEN after) — 27 tests.apps/websitedocs (skills-catalog.mdx new row + count bumps in 8 mdx files + the docs-staleness test's hardcoded expectation)..claude/skills+ root.pair/knowledgemirrors via the real content-ops transform (rewriteSkillReferences+rewriteSkillLinkPaths) so root == realTransform(dataset) (per the self-consistency invariant from PR fix: make pair update self-consistent for the dogfooded root install #346).Why This Change
Epic #208 — completes the cost dimension of the classification matrix (parallel to the already-shipped
assess-security). Realizes the forward references left by ADR-013 (quality-model cascade) for #226.Scope / Deliberate Exclusions (per story directive)
$modearg — unlikeassess-security(which has$mode: audit), this story is assessment-at-review only. Report/monitoring mode (R6.3/R6.4) is a separate slice, out of scope here.assess-securityreview mode./assess-costinto/pair-process-review, T3) and the review-template changes belong to Extended code-review template (security + cost, reading budget) #228, not this batch. The skill documents its composition interface ready-to-wire; the conformance test deliberately does not assert review-side composition.Files Changed
.skills/capability/assess-cost/SKILL.md(dataset +.claude/skillsmirror),guidelines/quality-assurance/cost-assessment.md(dataset + root mirror),packages/knowledge-hub/src/conformance/assess-cost.test.tsquality-model.md(§3.3/§7 links), QAREADME.md(index),skills-guide.md,getting-started.md,way-of-working.md,llms.txt,.claude/skills/pair-next/SKILL.md(catalog row), plus root mirrors of the above;apps/website/content/docs/**(9 files: skill-count bumps + new catalog row) andapps/website/lib/docs-staleness-check.test.ts(hardcoded 38→39)Testing
Notes for Reviewer
apps/websitedocs-staleness gate is a separate quality gate from the knowledge-hub's own conformance test — both track skill counts independently and both needed updating; this surfaced only when pushing (pre-push hook runs the full monorepo test suite).